package com.dianxin.smartpark.service.park;

import com.chinatelecom.response.common.CommonResponseBody;
import com.dianxin.smartpark.dao.qo.park.SmartParkCarParkParkingQO;
import com.dianxin.smartpark.service.validation.Save;
import com.dianxin.smartpark.service.vo.park.SmartParkCarParkParkingVO;
import com.dianxin.smartpark.service.vo.park.SmartParkCarParkingVO;
import org.springframework.validation.annotation.Validated;

import java.util.List;

/**
 * 停车记录接口
 * 
 * @author chenjiasong
 * @date 2021-07-28
 */
public interface SmartParkCarParkParkingService
{
    /**
     * 查询停车记录
     * 
     * @param smartParkCarParkParkingqo 停车记录
     * @return 停车记录
     */
    CommonResponseBody<SmartParkCarParkParkingVO> selectSmartParkCarParkParking(SmartParkCarParkParkingQO smartParkCarParkParkingqo);

    /**
     * 查询停车记录列表
     * 
     * @param smartParkCarParkParkingqo 停车记录
     * @return 停车记录集合
     */
    CommonResponseBody<List<SmartParkCarParkParkingVO>> selectSmartParkCarParkParkingList(SmartParkCarParkParkingQO smartParkCarParkParkingqo);

    /**
     * 新增停车记录
     * 
     * @param smartParkCarParkParkingvo 停车记录
     * @return 结果
     */
    CommonResponseBody<Boolean> insertSmartParkCarParkParking(SmartParkCarParkParkingVO smartParkCarParkParkingvo);

    /**
     * 修改停车记录
     * 
     * @param smartParkCarParkParkingvo 停车记录
     * @return 结果
     */
    CommonResponseBody<Boolean> updateSmartParkCarParkParking(SmartParkCarParkParkingVO smartParkCarParkParkingvo);

    /**
     * 删除停车记录信息
     * 
     * @param vo 停车记录
     * @return 结果
     */
    CommonResponseBody<Boolean> deleteSmartParkCarParkParking(SmartParkCarParkParkingVO vo);



    /**
     * 保存停车记录 并处理逻辑
     *
     * @param smartParkCarParkingvo 停车记录
     * @return 结果
     */
    @Validated(Save.class)
    CommonResponseBody<Boolean> saveSmartParkCarParking(SmartParkCarParkingVO smartParkCarParkingvo) throws Exception;
}
